#include"definicoes.h"
#include <time.h>

extern void historico_monitoramento_1(int id_ind);
extern void ultima_captura_1(int id_ind);
extern void id_local_data_1(int id_especie, int peso);
extern void caminho_arquivo_1(int id_ind);

extern void historico_monitoramento_2(int id_ind);
extern void ultima_captura_2(int id_ind);
extern void id_local_data_2(int id_especie, int peso);
extern void caminho_arquivo_2(int id_ind);

void compara_tempo(){
  clock_t inicio, fim;
  double tempo1, tempo2;
  int k, cont, peso;
  printf("Insira o numero de consultas por item (k)\n");
  scanf("%d", &k);
	
  printf("Consulta\tTempo Lab1(ms)\tTempo Lab2(ms)\tReducao\n");

  ///////////////////CONSULTA 4.A
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    historico_monitoramento_1(cont%num_ind);
  }
  fim = clock();
  tempo1 = (double) (fim - inicio)/(CLOCKS_PER_SEC);
	
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    historico_monitoramento_2(cont%num_ind);
  }
  fim = clock();
  tempo2 = (double) (fim - inicio)/(CLOCKS_PER_SEC);
  printf("4.a\t\t%3.lf\t\t%3.lf\t\t%2.0lf%%\n", tempo1*1000, tempo2*1000, ((tempo1-tempo2)/tempo1)*100);

  ///////////////////CONSULTA 4.B
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    ultima_captura_1(cont%num_ind);
  }
  fim = clock();
  tempo1 = (double) (fim - inicio)/(CLOCKS_PER_SEC);
	
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    ultima_captura_2(cont%num_ind);
  }
  fim = clock();
  tempo2 = (double) (fim - inicio)/(CLOCKS_PER_SEC);

  printf("4.b\t\t%3.lf\t\t%3.lf\t\t%2.0lf%%\n", tempo1*1000, tempo2*1000, ((tempo1-tempo2)/tempo1)*100);


  ///////////////////CONSULTA 4.C
  inicio = clock();
  srand(time(NULL));
  for(cont = 0; cont < k; cont++){
    peso = rand() % 100 + 100;
    id_local_data_1((cont%num_esp),peso);
  }
  fim = clock();
  tempo1 = (double) (fim - inicio)/(CLOCKS_PER_SEC);
	
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    peso = rand() % 100 + 100;
    id_local_data_2((cont%num_esp),peso);
  }
  fim = clock();
  tempo2 = (double) (fim - inicio)/(CLOCKS_PER_SEC);

  printf("4.c\t\t%3.lf\t\t%3.lf\t\t%2.0lf%%\n", tempo1*1000, tempo2*1000, ((tempo1-tempo2)/tempo1)*100);

  ///////////////////CONSULTA 4.D
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    caminho_arquivo_1(cont%num_ind);
  }
  fim = clock();
  tempo1 = (double) (fim - inicio)/(CLOCKS_PER_SEC);
	
  inicio = clock();
  for(cont = 0; cont < k; cont++){
    caminho_arquivo_2(cont%num_ind);
  }
  fim = clock();
  tempo2 = (double) (fim - inicio)/(CLOCKS_PER_SEC);

  printf("4.d\t\t%3.lf\t\t%3.lf\t\t%2.0lf%%\n", tempo1*1000, tempo2*1000, ((tempo1-tempo2)/tempo1)*100);

}


